In the automotive industry, vehicles may have a multitude of complex software and firmware components. For example, forward collision detection and air temperature control may be implemented in separate software modules. Vehicle manufactures are increasingly implementing autonomous and semi-autonomous driving functionality and/or introducing additional software modules with critical responsibilities. The safety of some vehicles may now be dependent on the integrity of these software modules.
Existing software verification techniques may be ill-suited for the number of existing vehicles, and possible valid vehicle configurations. For example, during peak times, a highway may have a high flow of vehicles each with a distinct software configuration. Verifying each software module of each vehicle against a centralized database in peak times may be impractical due to processing delays. Additionally, consumers may have a low tolerance for transportation delays.
Conventional software verification techniques may also be ill-suited for verifying vehicle software configurations, and may have several drawbacks, such as being manually intensive, inefficient, annoying, ineffective, and/or time intensive.